Conventionally, memory systems having a non-volatile memory have been known. When a logical address is designated from a host, a memory system obtains a physical address associated with the logical address and accesses a location in the non-volatile memory indicated by the physical address. When accesses are concentrated on a certain physical address, the location indicated by the certain physical address is exhausted more than other locations, and thus the life span of the non-volatile memory is reduced. In order to prevent this problem, a process of changing a correspondence between the logical address and the physical address is executed. This process may be referred to as “wear leveling.”